package com.gdpu.project.util.mail;

import java.util.Date;
import java.util.Properties;

import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class SendMail {
	/**
	 * ���ͼ��ʼ�
	 * 
	 * @param str_from
	 *            �������˵�ַ
	 * @param str_to
	 *            :�ռ��˵�ַ
	 * @param str_title
	 *            ���ʼ�����
	 * @param str_content
	 *            ���ʼ�����
	 */
	public static void send(String str_from, String str_to, String str_title,
			String str_content) {

		try {
			// �����ʼ��Ự
			Properties props = new Properties(); // ������һ���ļ��д洢��-ֵ�Եģ����м��ֵ���õȺŷָ��ģ�
			// �洢�����ʼ�����������Ϣ
			props.put("mail.smtp.host", Constant.mailServer);
			// ͬʱͨ����֤
			props.put("mail.smtp.auth", "true");
			// ��������½�һ���ʼ��Ự
			Session s = Session.getInstance(props);
			s.setDebug(true); // ������ӡһЩ������Ϣ��

			// ���ʼ��Ự�½�һ����Ϣ����
			MimeMessage message = new MimeMessage(s);

			// �����ʼ�
			InternetAddress from = new InternetAddress(str_from);
			message.setFrom(from); // ���÷����˵ĵ�ַ
			// 
			// //�����ռ���,���������������ΪTO
			InternetAddress to = new InternetAddress(str_to);
			message.setRecipient(Message.RecipientType.TO, to);

			// ���ñ���
			message.setSubject(str_title);

			// �����ż�����

			// ����HTML�ʼ�
			message.setContent(str_content, "text/html;charset=gbk");
			// ���÷���ʱ��
			message.setSentDate(new Date());

			// �洢�ʼ���Ϣ
			message.saveChanges();

			// �����ʼ�
			Transport transport = s.getTransport("smtp");
			// ��smtp��ʽ��¼����,��һ�������Ƿ����ʼ��õ��ʼ�������SMTP��ַ,�ڶ�������Ϊ�û���,���������Ϊ����
			transport.connect(Constant.mailServer, Constant.mailCount,
					Constant.mailPassword);
			// �����ʼ�,���еڶ�����������������õ��ռ��˵�ַ
			transport.sendMessage(message, message.getAllRecipients());
			transport.close();

		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}
